package com.zhuoyue.biz.core.api.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuoyue.biz.core.api.domain.base.BaseDoClass;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 网关实体类
 *
 * @author Administrator
 */
@Data
@TableName(value = "tbl_gateway")
public class GatewayDO extends BaseDoClass {

    /**
     * 所属家庭ID
     */
    @TableField(value = "`home_id`")
    private String homeId;

    /**
     * ZigBee模块mac地址
     */
    @TableField(value = "`zigbee_mac`")
    private String zigbeeMac;

    /**
     * WIFI模块mac地址
     */
    @TableField(value = "`wifi_mac`")
    private String wifiMac;

    /**
     * WIFI模块IP地址
     */
    @TableField(value = "`wifi_ip`")
    private String wifiIp;

    /**
     * 网关类型
     */
    @TableField(value = "`gateway_type`")
    private String gatewayType;

    /**
     * 网关名称
     */
    @TableField(value = "`name`")
    private String name;

    /**
     * 自动入网标志
     */
    @TableField(value = "`zdrwbz`")
    private String zdrwbz;


    /**
     * 布防状态
     */
    @TableField(value = "`defend_status`")
    private String defendStatus;

    /**
     * 报警状态
     */
    @TableField(value = "`alarm_status`")
    private String alarmStatus;

    /**
     * 图片地址
     */
    @TableField(value = "`img_url`")
    private String imgUrl;

    @TableField(value = "`hardware_version_number`")
    private String hardwareVersionNumber;
    @TableField(value = "`software_version_number`")
    private String softwareVersionNumber;
    @TableField(value = "`manufacturer_code`")

    private String manufacturerCode;

    @TableField(value = "`gateway_push`")
    private String gatewayPush;

    /**
     * 产品Id
     */
    @TableField(value = "`prod_id`")
    private String prodId;

    /**
     * 现在时间
     */
    @TableField(exist = false)
    private LocalDateTime nowTime;

    /**
     * 设备状态时间
     */
    @TableField(value = "`switch_time`")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime switchTime;
}
